
import { ADD, REDUCE, ADDNUM, REDUCENUM } from '../types'

// 2. 定义全局数据的 reducer 函数
// reducer 函数中有两个参数
// state：该 state 就是全局状态中的数据
// actions： 是动作，是一个对象，里面有两个东西，
// 一个是 type 就是我们要做什么，(标记要做的操作比如要修改哪一个数据)
// 二个是 payload 是我们要修改的值 (是要修改的值，就是要将数据改成什么)
const reducer = (state = {
    // 这里放的就是全局数据
    count: 100
}, actions) => {
    const { type, payload } = actions

    // 定义修改数据的方法
    switch (type) {
        case ADD:

            return { ...state, count: state.count + 1 }
        case REDUCE:

            return { ...state, count: state.count - 1 }
        case ADDNUM:

            return { ...state, count: state.count + payload }
        case REDUCENUM:

            return { ...state, count: state.count - payload }
        default:
            return state
    }
}

export default reducer